<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /*
             所以ES12中提出了weakSet类型
                - 只能添加引用类型数据
                - 不存在引用计数加一的情况(这个下面会讲的，看不懂没关系)
                - size 和 for不能用了
        */
        let s1 = new WeakSet();
        let obj = {
            name:'mikaisa'
        }
        s1.add(obj);
        obj = null;
        console.log(s1);//你会发现里面没有属性，没有开始声明的那个对象, 这是因为WeakSet()的add方法不会让垃圾回收机制把访问对象的方式加一(参考45-1)。所以当你把obj赋值为null，垃圾回收机制就会认为没有访问该对象的方式了，就会回收掉
    </script>
</body>
</html>